Organizations increasingly generate and use large amounts of data. In the course of managing its data, an organization may wish to back up this data while maintaining uninterrupted access to the same. Creating a consistent backup may involve backing up all data within a backup reflecting the state of the backed-up data at a given point in time. In order to provide a consistent backup of a volume of data (as well as uninterrupted access to write to the volume), a backup system may utilize a copy-on-write snapshot.
Traditional technologies may create a copy-on-write snapshot of a volume by making a copy of a block of data on the volume whenever that block of data is about to be overwritten. Attempts to read from the snapshot may then be either directly fulfilled from the volume (if the corresponding block on the volume has not changed since the snapshot) or fulfilled from a copied block of data created for the snapshot.
Unfortunately, performing a copy-on-write operation for every changed block may consume a significant amount of computing resources, potentially taxing input/output (“I/O”) performance and consuming storage space. Accordingly, the instant disclosure identifies a need for additional and improved systems and methods for creating selective snapshots.